package main

import (
	"fmt"
	"time"
)

// topic4：8年前的今天上午9点30分
/*
要求：
 1. 毫秒时间戳是多少？
 2. 格式化输出时间为 2005/09/10 21:35:40 +0800 的形式
 3. 请问那天是周几？到那天，本年已经过了多少周？
 4. 距离今天已经过了多少天了？
*/
func main() {
	// 获取当前时间
	currentTime := time.Now()

	// 创建一个时间实例，表示8年前的今天上午9点30分
	targetTime := time.Date(currentTime.Year()-8, currentTime.Month(), currentTime.Day(), 9, 30, 0, 0, time.Local)
	fmt.Println("8年前的今天上午9点30分:", targetTime)

	// 获取毫秒时间戳
	milliseconds := targetTime.UnixNano() / int64(time.Millisecond)
	fmt.Println("毫秒时间戳:", milliseconds)

	// 格式化输出时间
	formattedTime := targetTime.Format("2006/01/02 15:04:05 +0800")
	fmt.Println("格式化输出时间:", formattedTime)

	// 判断那天是周几
	weekday := targetTime.Weekday()
	fmt.Println("那天是周几:", weekday)

	// 到那天，本年已经过了多少周
	_, week := targetTime.ISOWeek()
	fmt.Println("本年已经过了多少周:", week)

	// 距离今天已经过了多少天了
	days := int(currentTime.Sub(targetTime).Hours() / 24)
	fmt.Println("距离今天已经过了多少天:", days)
}
